package com.dys.dao;

import com.dys.entity.Clazz;

import java.util.List;

/**
 * @Author: 疾风
 * @ClassName: ClassDao
 * @Description: ClassDao层
 * @CreateDate: 2024/09/26
 * @Version: v1.0.0
 */
public interface ClassDao {

    /**
     * 添加班级
     *
     * @param c 具体班级信息
     * @return 添加成功 or 添加失败 的描述
     */
    int insertOneClass(Clazz c);

    /**
     * 查询所有班级信息
     *
     * @return 所有的班级
     */
    List<Clazz> listClass();

    /**
     * 分页查询所有班级信息
     *
     * @param startIndex 开始索引
     * @param size       每页展示条数
     * @return 所有班级信息
     */
    List<Clazz> selectAllClasses(int startIndex, int size);

    /**
     * 查询总条数
     *
     * @return 总条数
     */
    int selectCountClass();

    /**
     * 根据班级编号删除班级信息
     *
     * @param cid 班级编号
     * @return 删除成功的标识
     */
    int deleteOneClass(int cid);

    /**
     * 根据cid查询班级信息
     *
     * @param cid 班级编号
     * @return 班级信息
     */
    Clazz selectOneClass(int cid);

    /**
     * 修改
     *
     * @param c 班级对象
     * @return 受影响行数
     */
    int updateOneClass(Clazz c);

    /**
     * 展示班级人数
     *
     * @return 班级名称和班级人数
     */
    List selectClassCount();
}
